package com.goldgov.learnmanage.service;

import java.util.List;

import com.goldgov.organization.service.Organization;

public interface UserService {
	/**
	 * 流动党员列表
	 * @param query
	 * @return
	 */
	public List<User> getUserList(UserQuery query);
	/**
	 * 流动党员学习时长列表(按时间)
	 * @param query
	 * @return
	 */
	public List<User> getUserLearnList( UserQuery query);
	/**
	 * 查询我的学习情况
	 * @param query
	 * @return
	 */
	public User findMyCourseLearing(UserQuery query);
	
	/**
	 * 查询机构用户的学习情况
	 * @param query
	 * @return
	 */
	public List<User>  findOrgCourseLearing(UserQuery query);
	
	/**
	 * 查询机构下用户
	 * @param orgID
	 * @return
	 */
	List<User> findOrgUser(String orgID);
	/**
	 * 查询机构下各性别人数
	 * @return
	 */
	List<User> listUserByGender(String orgID);
	/**|
	 * 查询各类型机构数
	 * @return
	 */
	List<Organization> listOrgByType(String orgID);
	
	
	/**
	 * 获取下一级组织学习信息
	 * @date 2018年11月28日 上午11:07:41 
	 * @author hanxiangyu
	 * @param query
	 * @return
	 */
	List<User> findOrgLearnCourseTime(UserParam query);
	/**
	 * 获取最下级人员学习信息
	 * @date 2018年11月28日 上午11:09:29 
	 * @author hanxiangyu
	 * @param query
	 * @return
	 */
	List<User> findOrgUserLearn(UserParam query);
	/**
	 * 获取下一级组织人员对比
	 * @date 2018年11月28日 上午11:08:15 
	 * @author hanxiangyu
	 * @param query
	 * @return
	 */
	List<User> findOrgUserContrast(UserQuery query);
	List<User> findOrgUserContrastByOrgID(UserParam query);
	/**
	 * 判断是否含有下级组织
	 * @date 2018年11月28日 上午11:08:15 
	 * @author hanxiangyu
	 * @param query
	 * @return
	 */
	List<User> judgeIsIncludeSubordinate(String orgID);
	
	/**
	 * 流动党员学习
	 * @date 2018年12月13日 上午11:15:05 
	 * @author hanxiangyu
	 * @param query
	 * @return
	 */
	List<User> findOrgLDDYStudy(UserQuery query);
	
}
